#ifndef _GAMENPC_H_
#define _GAMENPC_H_


#include "GameEnemy.h"

class GameNpc : public GameEnemyEntity
{
public:

    friend class NpcManager;
	friend class MapManager;

	GameNpc();
	~GameNpc();

	NpcCreateData*		GetNpcCreateData();
    NpcARGData*         GetNpcARGData();
    NpcTemplateData*    GetNpcTemplateData();
    
    
protected:
	
	NpcCreateData*      mCreateData;
	NpcARGData*         mARGData;
    NpcTemplateData*    mTemplateData;
};


typedef vector< GameNpc* > GameNpcVector;
typedef vector< GameNpc* >::iterator GameNpcVectorIter;

typedef list< GameNpc* > GameNpcList;
typedef list< GameNpc* >::iterator GameNpcListIter;

typedef map< fint32 , GameNpc* > GameNpcMap;
typedef map< fint32 , GameNpc* >::iterator GameNpcMapIter;

#endif

